<script>
export default {
  data() {
    return {
      showUserInfoAuth: false,
      showPhoneAuth: false
    };
  },
  onLaunch() {
    console.log('App onLaunch - 应用启动');
    // 延迟检查授权状态
    setTimeout(() => {
      this.checkAuthStatus();
    }, 800);
  },
  onShow() {
    console.log('App onShow - 应用显示');
    // 应用显示时也检查一次
    setTimeout(() => {
      if (!this.showUserInfoAuth && !this.showPhoneAuth) {
        this.checkAuthStatus();
      }
    }, 300);
  },
  methods: {
    // 检查授权状态
    checkAuthStatus() {
      console.log('>>> checkAuthStatus 开始执行');
      try {
        const userInfo = uni.getStorageSync('userInfo');
        const phoneNumber = uni.getStorageSync('phoneNumber');
        
        console.log('检查授权状态:', {
          hasUserInfo: !!userInfo,
          hasPhoneNumber: !!phoneNumber
        });
        
        if (!userInfo) {
          // 没有用户信息,触发显示用户信息授权弹框事件
          console.log('==> 触发显示用户信息授权弹框事件');
          uni.$emit('show-user-info-auth');
        } else if (!phoneNumber) {
          // 有用户信息但没有手机号,触发显示手机号授权弹框事件
          console.log('==> 触发显示手机号授权弹框事件');
          uni.$emit('show-phone-auth');
        } else {
          console.log('已完成所有授权');
        }
        console.log('>>> checkAuthStatus 执行完成');
      } catch (e) {
        console.error('读取缓存异常:', e);
        uni.$emit('show-user-info-auth');
      }
    },
    
    // 处理用户信息授权成功事件
    handleUserInfoSuccess() {
      console.log('用户信息授权成功,检查手机号授权');
      setTimeout(() => {
        const phoneNumber = uni.getStorageSync('phoneNumber');
        if (!phoneNumber) {
          uni.$emit('show-phone-auth');
        }
      }, 300);
    }
  }
};
</script>

<style>
/* 每个页面公共css */
</style>
